package com.crm.service.cluePoolManager;


import com.crm.model.entity.cluePoolManager.ClueContact;
import com.crm.model.vo.cluePoolManager.ClueContactVO;

import java.util.List;

/**
 * @ Author ：wll
 */
public interface ClueContactDbService {

    /**
     * @author wll
     * info 查询联系人记录
     */
    List<ClueContactVO> selectClueContactVOs(String clueId);


    /**
     * @author wll
     * @date 2021/1/25 15:30
     * info 用户模块-我的线索池-线索清单-新增线索联系人
     * @param clueContact
     * @return
     */
    Boolean insertClueContact(ClueContact clueContact);

    /**
     * @author wll
     * @date 2021/1/26 16:32
     * info 用户模块-我的线索池-线索清单-跟进-线索联系人回显
     * @param clueId 线索id
     * @param param  为空查询线索全部联系人和手机号 不为空模糊搜索联系人和手机号
     * @return
     */
    List<ClueContactVO> selectClueContacts(String clueId, String param);

    /**
     * @author wll
     * info  添加线索联系人 返回主键
     */
    int insertClueContactInfo(ClueContact clueContact);

    /**
     *线索下联系人
     */
    List<ClueContact> selectClueContactList(String clueId);

    /**
     * 根据线索id、联系人名称和联系方式判重，是否插入线索联系人
     * @Author pym
     * @Date  2021/3/4 13:49
     * @param clueId --线索id
     * @param contactName --联系人名称
     * @param contactInformation --联系方式
     * @return {@link {java.lang.Boolean}}
     */
    ClueContact isInsertClueContact(String clueId, String contactName, String contactInformation);

    /**
     * 线索线上跟进判断联系人是否存在
     * @Author pym
     * @Date  2021/7/7 16:37
     * @param clueId 线索id
     * @param contactInformation 联系方式
     * @return {@link {com.crm.model.entity.cluePoolManager.ClueContact}}
     */
    ClueContact getClueContactByIdAndContactInfo(String clueId, String contactInformation);

}
